package com.kili.file.controller.request;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.multipart.MultipartFile;

import javax.validation.constraints.NotNull;


/**
 * FileRequest
 *
 * @author Gordon
 * @version 2019/3/28
 */
@Data
@EqualsAndHashCode
@ToString(exclude = "file")
public class FileUploadRequest {
    @NotNull(message = "File is empty")
    private MultipartFile file;
    private Integer status;
    private String        version;
    private String        id;
    private String        caller;
    private String        callerAddr;
    private String        url;
    private long          requestTime;
    private String        target;
    private String        callerReqId;
    private String        ext;

    public MultiValueMap swap() {
        MultiValueMap<String, Object> map = new LinkedMultiValueMap<>();
        map.add("id", id);
        map.add("callerReqId", callerReqId);
        map.add("caller", caller);
        map.add("callerAddr", callerAddr);
        map.add("url", url);
        map.add("requestTime", requestTime);
        map.add("file", file.getResource());
        map.add("version", version);
        map.add("target", target);
        map.add("ext", ext);
        return map;
    }


}
